#ifndef UTIL_H
#define UTIL_H

#include <QString>

//Xml file nodes

const QString XML_MAPPING_NODE_BLACKBEAR = "blackbear-mapping";
const QString XML_MAPPING_CLASS = "class";
const QString XML_MAPPING_ATTRIBUTE = "attribute";
const QString XML_MAPPING_ATTRIBUTE_NAME = "name";
const QString XML_MAPPING_ATTRIBUTE_TYPE = "type";
const QString XML_MAPPING_ATTRIBUTE_EXTENDS = "extends";


//Possiblities of variables types 

const QString ATTRIBUTE_TYPE_CHAR = "char";
const QString ATTRIBUTE_TYPE_UNSIGNED_CHAR = "unsigned " + ATTRIBUTE_TYPE_CHAR;
const QString ATTRIBUTE_TYPE_UCHAR = "uchar";
const QString ATTRIBUTE_TYPE_QSTRING = "QString";
const QString ATTRIBUTE_TYPE_STRING = "string";

const QString ATTRIBUTE_TYPE_SHORT = "short";
const QString ATTRIBUTE_TYPE_UNSIGNED_SHORT = "unsigned " + ATTRIBUTE_TYPE_SHORT;
const QString ATTRIBUTE_TYPE_USHORT = "ushort";
const QString ATTRIBUTE_TYPE_SHORT_INT = "short int";
const QString ATTRIBUTE_TYPE_UNSIGNED_SHORT_INT = "unsigned " + ATTRIBUTE_TYPE_SHORT_INT;
const QString ATTRIBUTE_TYPE_INT = "int";
const QString ATTRIBUTE_TYPE_UNSIGNED_INT = "unsigned " + ATTRIBUTE_TYPE_INT;
const QString ATTRIBUTE_TYPE_UINT = "uint";
const QString ATTRIBUTE_TYPE_LONG = "long";
const QString ATTRIBUTE_TYPE_UNSIGNED_LONG = "unsigned " + ATTRIBUTE_TYPE_LONG;
const QString ATTRIBUTE_TYPE_LONG_INT = "long int";
const QString ATTRIBUTE_TYPE_UNSIGNED_LONG_INT = "unsigned " + ATTRIBUTE_TYPE_LONG_INT;
const QString ATTRIBUTE_TYPE_ULONG = "ulong";

const QString ATTRIBUTE_TYPE_BOOL = "bool";

const QString ATTRIBUTE_TYPE_FLOAT = "float";
const QString ATTRIBUTE_TYPE_DOUBLE = "double";
const QString ATTRIBUTE_TYPE_LONG_DOUBLE = "long double";

//This type of variable is saved like intenger, because wide character can vary from 2 to 4 bytes
const QString ATTRIBUTE_TYPE_WIDE_CHARACTER = "wchar_t";

#endif